<%@ page import="yanglei.day0109.lottery.po.User" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %><%--
  Created by IntelliJ IDEA.
  User: 杨雷
  Date: 2023/1/10
  Time: 9:41
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>EL表达式使用</title>
    <%
        // 定义一个Java变量
        String name = "传玉1号";
        // 当前页面内置对象
        pageContext.setAttribute("elNamePageContext", name);
        // 同一个请求内置对象
        request.setAttribute("elNamePageRequest", name);
        // 同一个会话内置对象
        session.setAttribute("elNamePageSession", name);
        // 同一个web应用内置对象，数据存储
        application.setAttribute("elNamePageApplication", name);

        // 定义一个Java对象
        User user = new User();
        user.setUserName("文都");
        user.setPhone("19962052276");
        request.setAttribute("user", user);

        // 定义一个Java数组
        int[] nums = {12, 5, 99, 100, -10};
        request.setAttribute("nums", nums);
        // 定义一个集合对象
        List<User> userList = new ArrayList<>();
        userList.add(new User(1001, "张三1"));
        userList.add(new User(1002, "张三2"));
        userList.add(new User(1003, "张三3"));
        userList.add(new User(1004, "张三4"));
        userList.add(new User(1005, "张三5"));
        request.setAttribute("userList", userList);

    %>
    <style>
        li {
            line-height: 32px;
            font-size: 20px;
        }
    </style>
</head>
<body>
<div>
    <ul>
        <li>使用jsp小脚本等号输出:<%=name%>
        </li>
        <li>使用jsp内置对象out.print输出:<%out.print("姓名" + name);%></li>
        <li>
            使用jsp内置对象pageContext提供的getAttribute("key")获取数据:<%=pageContext.getAttribute("elNamePageContext")%>
        </li>
        <li>使用jsp内置对象request提供的getAttribute("key")获取数据:<%=request.getAttribute("elNamePageRequest")%>
        </li>
        <li>使用jsp内置对象session提供的getAttribute("key")获取数据:<%=session.getAttribute("elNamePageSession")%>
        </li>
        <li>
            使用jsp内置对象application提供的getAttribute("key")获取数据:<%=application.getAttribute("elNamePageApplication")%>
        </li>

        <li>使用jsp中EL表达式输出elNamePageContext:${elNamePageContext}</li>
        <li>使用jsp中EL表达式输出elNameRequest:${elNamePageRequest}</li>
        <li>使用jsp中EL表达式输出elNameSession:${elNamePageSession}</li>
        <li>使用jsp中EL表达式输出elNameApplication:${elNamePageApplication}</li>

        <%--pageScope jsp隐式对象--%>
        <li>使用jsp中EL表达式获取输出对象:${user.userName}</li>
        <li>使用jsp中EL表达式获取输出对象:${user.phone}</li>

        <li>使用jsp中EL表达式获取输出数组:${nums[0]}</li>
        <li>使用jsp中EL表达式获取输出集合:${userList.get(0)}</li>
    </ul>
</div>

</body>
</html>
